﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using System.Collections.ObjectModel;
using AmCharts.Windows.QuickCharts;

namespace Pacjent
{
    public partial class wykres : PhoneApplicationPage
    {
        static referencja1.Service1SoapClient c;
        public string[] przechowalnia;
        public string id;
        
        int styczen = 0;
        int luty = 0;
        int marzec = 0;
        int kwiecien = 0;
        int maj = 0;
        int czerwiec = 0;
        int lipiec = 0;
        int sierpien = 0;
        int wrzesien = 0;
        int pazdziernik = 0;
        int listopad = 0;
        int grudzien = 0;

        public wykres()
        {
            c = new referencja1.Service1SoapClient();

            InitializeComponent();

            c.pobierzdatyCompleted += new EventHandler<referencja1.pobierzdatyCompletedEventArgs>(c_pobierzdatyCompleted);
            c.upddatyCompleted += new EventHandler<referencja1.upddatyCompletedEventArgs>(c_upddatyCompleted);
          
        }

        void c_upddatyCompleted(object sender, referencja1.upddatyCompletedEventArgs e)
        {
            MessageBox.Show("Poprawnie zapisano daty");
        }

        void c_pobierzdatyCompleted(object sender, referencja1.pobierzdatyCompletedEventArgs e)
        {
            if (e.Result.ToString() != "s")
            {
            string separator = "%$&";
            string sepdat1 = "/";
            string sepdat2 = " ";
            string[] podzielone = e.Result.Split(separator.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            id = podzielone[0];

            // PIERWSZA DATA
            string[] podzieldate = podzielone[1].Split(sepdat1.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            string[] podzielrok = podzieldate[2].Split(sepdat2.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
          
            if (podzielrok[0] == "0000") { textBox2.Text = "0000-00-00"; }
            else
                textBox2.Text = podzielrok[0] + "-" + podzieldate[0] + "-" + podzieldate[1]; //przechowalnia[0];
            if (podzieldate[0] == "1") { styczen = styczen+1; }
            else if (podzieldate[0] == "2") { luty++; }
            else if (podzieldate[0] == "3") { marzec++; }
            else if (podzieldate[0] == "4") { kwiecien++; }
            else if (podzieldate[0] == "5") { maj++; }
            else if (podzieldate[0] == "6") { czerwiec++; }
            else if (podzieldate[0] == "7") { lipiec++; }
            else if (podzieldate[0] == "8") { sierpien++; }
            else if (podzieldate[0] == "9") { wrzesien++; }
            else if (podzieldate[0] == "10") { pazdziernik++; }
            else if (podzieldate[0] == "11") { listopad++; }
            else if (podzieldate[0] == "12") { grudzien++; }

            // DRUGA DATA
            string[] podzieldate2 = podzielone[2].Split(sepdat1.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            string[] podzielrok2 = podzieldate2[2].Split(sepdat2.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            if (podzielrok2[0] == "0000") { textBox3.Text = "0000-00-00"; }
            else
                textBox3.Text = podzielrok2[0] + "-" + podzieldate2[0] + "-" + podzieldate2[1];
            if (podzieldate2[0] == "1") { styczen = styczen + 1; }
            else if (podzieldate2[0] == "2") { luty++; }
            else if (podzieldate2[0] == "3") { marzec++; }
            else if (podzieldate2[0] == "4") { kwiecien++; }
            else if (podzieldate2[0] == "5") { maj++; }
            else if (podzieldate2[0] == "6") { czerwiec++; }
            else if (podzieldate2[0] == "7") { lipiec++; }
            else if (podzieldate2[0] == "8") { sierpien++; }
            else if (podzieldate2[0] == "9") { wrzesien++; }
            else if (podzieldate2[0] == "10") { pazdziernik++; }
            else if (podzieldate2[0] == "11") { listopad++; }
            else if (podzieldate2[0] == "12") { grudzien++; }

            // TRZECIA DATA
            string[] podzieldate3 = podzielone[3].Split(sepdat1.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            string[] podzielrok3 = podzieldate3[2].Split(sepdat2.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            if (podzielrok3[0] == "0000") { textBox4.Text = "0000-00-00"; }
            else
                textBox4.Text = podzielrok3[0] + "-" + podzieldate3[0] + "-" + podzieldate3[1];
            if (podzieldate3[0] == "1") { styczen = styczen+1; }
            else if (podzieldate3[0] == "2") { luty++; }
            else if (podzieldate3[0] == "3") { marzec++; }
            else if (podzieldate3[0] == "4") { kwiecien++; }
            else if (podzieldate3[0] == "5") { maj++; }
            else if (podzieldate3[0] == "6") { czerwiec++; }
            else if (podzieldate3[0] == "7") { lipiec++; }
            else if (podzieldate3[0] == "8") { sierpien++; }
            else if (podzieldate3[0] == "9") { wrzesien++; }
            else if (podzieldate3[0] == "10") { pazdziernik++; }
            else if (podzieldate3[0] == "11") { listopad++; }
            else if (podzieldate3[0] == "12") { grudzien++; }

            // CZWARTA DATA
            string[] podzieldate4 = podzielone[4].Split(sepdat1.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            string[] podzielrok4 = podzieldate4[2].Split(sepdat2.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            if (podzielrok4[0] == "0000") { textBox5.Text = "0000-00-00"; }
            else
                textBox5.Text = podzielrok4[0] + "-" + podzieldate4[0] + "-" + podzieldate4[1];
            if (podzieldate4[0] == "1") { styczen = styczen+1; }
            else if (podzieldate4[0] == "2") { luty++; }
            else if (podzieldate4[0] == "3") { marzec++; }
            else if (podzieldate4[0] == "4") { kwiecien++; }
            else if (podzieldate4[0] == "5") { maj++; }
            else if (podzieldate4[0] == "6") { czerwiec++; }
            else if (podzieldate4[0] == "7") { lipiec++; }
            else if (podzieldate4[0] == "8") { sierpien++; }
            else if (podzieldate4[0] == "9") { wrzesien++; }
            else if (podzieldate4[0] == "10") { pazdziernik++; }
            else if (podzieldate4[0] == "11") { listopad++; }
            else if (podzieldate4[0] == "12") { grudzien++; }

            // PIATA DATA
            string[] podzieldate5 = podzielone[5].Split(sepdat1.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            string[] podzielrok5 = podzieldate5[2].Split(sepdat2.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            if (podzielrok5[0] == "0000") { textBox6.Text = "0000-00-00"; }
            else
                textBox6.Text = podzielrok5[0] + "-" + podzieldate5[0] + "-" + podzieldate5[1];
            if (podzieldate5[0] == "1") { styczen = styczen+1; }
            else if (podzieldate5[0] == "2") { luty++; }
            else if (podzieldate5[0] == "3") { marzec++; }
            else if (podzieldate5[0] == "4") { kwiecien++; }
            else if (podzieldate5[0] == "5") { maj++; }
            else if (podzieldate5[0] == "6") { czerwiec++; }
            else if (podzieldate5[0] == "7") { lipiec++; }
            else if (podzieldate5[0] == "8") { sierpien++; }
            else if (podzieldate5[0] == "9") { wrzesien++; }
            else if (podzieldate5[0] == "10") { pazdziernik++; }
            else if (podzieldate5[0] == "11") { listopad++; }
            else if (podzieldate5[0] == "12") { grudzien++; }

            // SZOSTA DATA
            string[] podzieldate6 = podzielone[6].Split(sepdat1.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            string[] podzielrok6 = podzieldate6[2].Split(sepdat2.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            if (podzielrok6[0] == "0000") { textBox7.Text = "0000-00-00"; }
            else
                textBox7.Text = podzielrok6[0] + "-" + podzieldate6[0] + "-" + podzieldate6[1];
            if (podzieldate6[0] == "1") { styczen = styczen+1; }
            else if (podzieldate6[0] == "2") { luty++; }
            else if (podzieldate6[0] == "3") { marzec++; }
            else if (podzieldate6[0] == "4") { kwiecien++; }
            else if (podzieldate6[0] == "5") { maj++; }
            else if (podzieldate6[0] == "6") { czerwiec++; }
            else if (podzieldate6[0] == "7") { lipiec++; }
            else if (podzieldate6[0] == "8") { sierpien++; }
            else if (podzieldate6[0] == "9") { wrzesien++; }
            else if (podzieldate6[0] == "10") { pazdziernik++; }
            else if (podzieldate6[0] == "11") { listopad++; }
            else if (podzieldate6[0] == "12") { grudzien++; }

            // SIODMA DATA
            string[] podzieldate7 = podzielone[7].Split(sepdat1.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            string[] podzielrok7 = podzieldate7[2].Split(sepdat2.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            if (podzielrok7[0] == "0000") { textBox8.Text = "0000-00-00"; }
            else
                textBox8.Text = podzielrok7[0] + "-" + podzieldate7[0] + "-" + podzieldate7[1];
            if (podzieldate7[0] == "1") { styczen = styczen+ 1; }
            else if (podzieldate7[0] == "2") { luty++; }
            else if (podzieldate7[0] == "3") { marzec++; }
            else if (podzieldate7[0] == "4") { kwiecien++; }
            else if (podzieldate7[0] == "5") { maj++; }
            else if (podzieldate7[0] == "6") { czerwiec++; }
            else if (podzieldate7[0] == "7") { lipiec++; }
            else if (podzieldate7[0] == "8") { sierpien++; }
            else if (podzieldate7[0] == "9") { wrzesien++; }
            else if (podzieldate7[0] == "10") { pazdziernik++; }
            else if (podzieldate7[0] == "11") { listopad++; }
            else if (podzieldate7[0] == "12") { grudzien++; }

            // OSMA DATA
            string[] podzieldate8 = podzielone[8].Split(sepdat1.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            string[] podzielrok8 = podzieldate8[2].Split(sepdat2.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            if (podzielrok8[0] == "0000") { textBox9.Text = "0000-00-00"; }
            else
                textBox9.Text = podzielrok8[0] + "-" + podzieldate8[0] + "-" + podzieldate8[1];
            if (podzieldate8[0] == "1") { styczen = styczen+1; }
            else if (podzieldate8[0] == "2") { luty++; }
            else if (podzieldate8[0] == "3") { marzec++; }
            else if (podzieldate8[0] == "4") { kwiecien++; }
            else if (podzieldate8[0] == "5") { maj++; }
            else if (podzieldate8[0] == "6") { czerwiec++; }
            else if (podzieldate8[0] == "7") { lipiec++; }
            else if (podzieldate8[0] == "8") { sierpien++; }
            else if (podzieldate8[0] == "9") { wrzesien++; }
            else if (podzieldate8[0] == "10") { pazdziernik++; }
            else if (podzieldate8[0] == "11") { listopad++; }
            else if (podzieldate8[0] == "12") { grudzien++; }

            //DZIEWIATA DATA
            string[] podzieldate9 = podzielone[9].Split(sepdat1.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            string[] podzielrok9 = podzieldate9[2].Split(sepdat2.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            if (podzielrok9[0] == "0000") { textBox10.Text = "0000-00-00"; }
            else
                textBox10.Text = podzielrok9[0] + "-" + podzieldate9[0] + "-" + podzieldate9[1];
            if (podzieldate9[0] == "1") { styczen = styczen+1; }
            else if (podzieldate9[0] == "2") { luty++; }
            else if (podzieldate9[0] == "3") { marzec++; }
            else if (podzieldate9[0] == "4") { kwiecien++; }
            else if (podzieldate9[0] == "5") { maj++; }
            else if (podzieldate9[0] == "6") { czerwiec++; }
            else if (podzieldate9[0] == "7") { lipiec++; }
            else if (podzieldate9[0] == "8") { sierpien++; }
            else if (podzieldate9[0] == "9") { wrzesien++; }
            else if (podzieldate9[0] == "10") { pazdziernik++; }
            else if (podzieldate9[0] == "11") { listopad++; }
            else if (podzieldate9[0] == "12") { grudzien++; }

            // DZIESIATA DATA
            string[] podzieldate10 = podzielone[10].Split(sepdat1.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            string[] podzielrok10 = podzieldate10[2].Split(sepdat2.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            if (podzielrok10[0] == "0000") { textBox11.Text = "0000-00-00"; }
            else
                textBox11.Text = podzielrok10[0] + "-" + podzieldate10[0] + "-" + podzieldate10[1];
            if (podzieldate10[0] == "1") { styczen = styczen+1; }
            else if (podzieldate10[0] == "2") { luty++; }
            else if (podzieldate10[0] == "3") { marzec++; }
            else if (podzieldate10[0] == "4") { kwiecien++; }
            else if (podzieldate10[0] == "5") { maj++; }
            else if (podzieldate10[0] == "6") { czerwiec++; }
            else if (podzieldate10[0] == "7") { lipiec++; }
            else if (podzieldate10[0] == "8") { sierpien++; }
            else if (podzieldate10[0] == "9") { wrzesien++; }
            else if (podzieldate10[0] == "10") { pazdziernik++; }
            else if (podzieldate10[0] == "11") { listopad++; }
            else if (podzieldate10[0] == "12") { grudzien++; }
            }
            else
                MessageBox.Show("nie znaleziono pacjenta o podanym numerze pesel");
        }


        private void button3_Click(object sender, RoutedEventArgs e)
        {
            c.upddatyAsync(id, textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text, textBox7.Text, textBox8.Text, textBox9.Text, textBox10.Text, textBox11.Text, textBox1.Text);
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            styczen = 0;
            luty = 0;
            marzec = 0;
            kwiecien = 0;
            maj = 0;
            czerwiec = 0;
            lipiec = 0;
            sierpien = 0;
            wrzesien = 0;
            pazdziernik = 0;
            listopad = 0;
            grudzien = 0;
            c.pobierzdatyAsync(textBox1.Text);
        }

        private void hyperlinkButton2_Click(object sender, RoutedEventArgs e)
        {
            NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
        }

        void przepisz()
        {
            textBox11.Text = textBox10.Text;
            textBox10.Text = textBox9.Text;
            textBox9.Text = textBox8.Text;
            textBox8.Text = textBox7.Text;
            textBox7.Text = textBox6.Text;
            textBox6.Text = textBox5.Text;
            textBox5.Text = textBox4.Text;
            textBox4.Text = textBox3.Text;
            textBox3.Text = textBox2.Text;
            textBox2.Text = "0000-00-00";
        }

        private void button2_Click(object sender, RoutedEventArgs e)
        {
            przepisz();
        }

        private void button4_Click(object sender, RoutedEventArgs e)
        {
        
            _data.Clear();          
            Data.Clear();
                   
            _data.Insert(0,new TestDataItem() { cat1 = "styczen", val2 = styczen });
            _data.Insert(1,new TestDataItem() { cat1 = "luty", val2 = luty });
            _data.Insert(2, new TestDataItem() { cat1 = "marzec", val2 = marzec });
            _data.Insert(3,new TestDataItem() { cat1 = "kwiecien", val2 = kwiecien });
            _data.Insert(4,new TestDataItem() { cat1 = "maj", val2 = maj });
            _data.Insert(5,new TestDataItem() { cat1 = "czerwiec", val2 = czerwiec });
            _data.Insert(6,new TestDataItem() { cat1 = "lipiec", val2 = lipiec });
            _data.Insert(7,new TestDataItem() { cat1 = "sierpien", val2 = sierpien });
            _data.Insert(8,new TestDataItem() { cat1 = "wrzesien", val2 = wrzesien });
            _data.Insert(9,new TestDataItem() { cat1 = "pazdziernik", val2 = pazdziernik });
            _data.Insert(10,new TestDataItem() { cat1 = "listopad", val2 = listopad });
            _data.Insert(11,new TestDataItem() { cat1 = "grudzien", val2 = grudzien });
                                
        }

        private ObservableCollection<TestDataItem> _data = new ObservableCollection<TestDataItem>()
        {                         
        };

        public ObservableCollection<TestDataItem> Data { get { return _data; } }

        public class TestDataItem
        {
            public string cat1 { get; set; }
            public int val2 { get; set; }
        }

        private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
        {
            this.DataContext = this;
        }

        private void hyperlinkButton1_Click(object sender, RoutedEventArgs e)
        {
            NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
        }
    }
}